|
Bei Sensornetzen und ihren Anwendungen handelt es sich um ein
aktives Forschungsgebiet, das von zahlreichen Forschungsgruppen mit
unterschiedlichsten Anwendungsgebieten weiterentwickelt wird. Da die
Anwendungen der Sensornetze immer komplexer werden und die erwartete
Lebenszeit der Sensornetze weiter steigt, werden Verfahren
benötigt, um Fehler der Anwendung über die Funkschnittstelle zu
korrigieren bzw. die Anwendung an veränderte Anforderungen
anzupassen. Diese Ansätze zur Aktualisierung des Programmcodes
müssen möglichst wenig Energie für die Durchführung des
Programmupdates benötigen, um die Lebenszeit des Sensornetzes nicht
unnötig zu verkürzen.
In dieser Arbeit wird FeuDel (FlexCup Deluge) vorgestellt, das
FlexCup und Deluge zu einer neuen funktionalen Einheit verbindet, um
Aktualisierungen des Programmcodes mit einem geringen
Energieverbrauch zu ermöglichen. Dabei stellt FlexCup ein Verfahren
dar, um eine Anwendung in mehrere Komponenten aufzuteilen und auf
den Knoten zu einer Gesamtanwendung zu verbinden. Dagegen stellt
Deluge ein effizientes und etabliertes Verfahren zur Verteilung und
Aktualisierung des kompletten Programmcodes einer Anwendung dar.
Durch die Verbindung von FlexCup und Deluge ist in dieser Arbeit
FeuDel entwickelt worden, dass in vielen Fällen einen um den Faktor
2-5 geringeren Energieverbrauch als Deluge aufweist.
Das vorgestellte Gesamtkonzept besteht aus zwei aus FlexCup
stammenden Anwendungen, dem FlexCup-Analyzer und dem FlexCup-Linker,
sowie dem Codeverteilungsalgorithmus auf den Knoten, der ebenfalls
den Namen FeuDel trägt, einer PC-Seite FeuDelPC, über die das
Versenden der Updates gesteuert wird, und einem Bootloader.
Eine geringfügig veränderte Version des FlexCup-Analyzers
analysiert die Komponenten der Anwendung und generiert die
Eingabedatei für FeuDelPC. Aus in dieser Eingabedatei enthaltenen
Parametern und gewissen aus einem Linker-Skript abgeleiteten Regeln
berechnet FeuDelPC die Platzierung der Komponenten auf den
Sensorknoten und injiziert die für das Update nötigen Daten in das
Sensornetz. Diese Daten werden dann durch FeuDel im Sensornetz
verteilt und für die spätere Bearbeitung durch den FlexCup-Linker
im externen Flash abgelegt. Sobald die empfangenen Daten zur
Integration bereit sind, ruft FeuDel einen ebenfalls auf den Knoten
installierten Bootloader auf. Dieser sorgt für die Ausführung
einer angepassten Version des FlexCup-Linkers, die die neuen Daten
in die bereits auf den Knoten vorhandenen Daten integriert und den
ausführbaren Programmcode der Zielanwendung erstellt. Zu guter
Letzt wird der so erstellte Programmcode über im Bootloader
untergebrachte Funktionen in den Programmspeicher des Sensorknotens
kopiert und ausgeführt.
Am Schluss dieser Ausarbeitung werden die Ergebnisse dieser Arbeit
zusammengefasst und ein Ausblick auf zukünftige Erweiterungen und
Optimierungen des Gesamtsystems gegeben.
|